<?php

/*
 <!--/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Autor: Jordan CamposDelgado
Fecha: 05/07/2012
Descripción: Controlador para las remesas.
Bitacora de modificaciones:
    <
    Autor: 
    Fecha: 
    Descripción: 
    >
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////-->
 */

error_reporting(0); 
session_start();
setcookie(session_name(), session_id(), NULL, NULL, NULL, 0);
setcookie(session_name(), session_id(), NULL, NULL, NULL, 1);
include ("../vistas/bloqueDeSeguridad.php");

switch ($_GET["accion"]) {
    case "expandirRemesas":
        expandirRemesas();
        break;
    case "cargarUsuarios":
        llenaComboUsuarios();
        break;
        }

function mensajeConfirmacion($bandera) {
                
        try {

            if($bandera=='Agrega'){
            ?>
                    <script type="text/javascript">

                            $().message("Se agrego la Remesa Satisfactoriamente.");
                            e.preventDefault();
                            $().message($("#message").val());

                        </script>

                <?php
            }
            elseif ($bandera=='Modifica') {

                ?>
                    <script type="text/javascript">

                            $().message("Se modifico la Remesa Satisfactoriamente.");
                            e.preventDefault();
                            $().message($("#message").val());

                        </script>

                <?php

            }
            elseif ($bandera=='Elimina') {

            ?>
                    <script type="text/javascript">

                            $().message("Se elimino la Remesa Satisfactoriamente.");
                            e.preventDefault();
                            $().message($("#message").val());

                        </script>

                    <?php

            }
            elseif ($bandera=='Aprobada') {

            ?>
                    <script type="text/javascript">

                            $().message("No es posible la transaccion, el resgistro ya ha sido aprobado.");
                            e.preventDefault();
                            $().message($("#message").val());

                        </script>

                    <?php

            }
            elseif ($bandera=='Aprobar') {

            ?>
                    <script type="text/javascript">

                            $().message("Se aprobo satisfactoriamenta la remesa.");
                            e.preventDefault();
                            $().message($("#message").val());

                        </script>

                    <?php

            }
            elseif ($bandera=='SinPermisos') {

            ?>
                    <script type="text/javascript">

                            $().message("Su usuario no posee permisos para esta acci&oacute;n.");
                            e.preventDefault();
                            $().message($("#message").val());

                        </script>

                    <?php

            }
        }
    catch (Exception $e) {
        echo 'Excepción capturada: ',  $e->getMessage(), "\n";

        }

    }        
        
        
        
        
function llenaComboUsuarios() {
   
    require_once '../modelos/remesasModelo.php';
    require_once '../FirePHPCore/FirePHP.class.php';
        $firephp = FirePHP::getInstance(true);
        
    $usuarios = cargarUsuarios();
    $firephp->log($usuarios, 'carga usuario');
    foreach ($usuarios as $usuario) {
        $userName = $usuario['UserName'];
        $ID = $usuario['ID'];
        $nombre = $usuario['Nombre'];
        echo "<option value=" .$ID. ">" . $nombre . "</option>";
    }
}        

function listarRemesas() {
        
        require_once '../modelos/remesasModelo.php';
    try {
        if(validarPermisos('buscarTodasRemesas'))
        {
            $items = buscarTodasRemesas();
            $total_registros =sizeof($items);                    
            require 'Remesas/listarRemesas.php';
        }
        else
        {
            $items = null;
            require 'Remesas/listarRemesas.php';
            mensajeConfirmacion('SinPermisos');
        }   
     }
    catch (Exception $e) {
        echo 'Excepción capturada: ',  $e->getMessage(), "\n";

        }    
    }

    
function listarFacturasXPagar() {
    require '../modelos/remesasModelo.php';
    try {
        if(validarPermisos('buscarFacturasXPagar'))
        {
            $items = buscarFacturasXPagar(null,null,null,null,null);
            $total_registros =sizeof($items);
            $accion='Agregar';
            require 'Remesas/reporteRemesas.php';
        }
        else
        {
            $items = null;
            $accion='Agregar';
            require 'Remesas/reporteRemesas.php';
            mensajeConfirmacion('SinPermisos');
        } 
     }
    catch (Exception $e) {
        echo 'Excepción capturada: ',  $e->getMessage(), "\n";

        }
}


function modificaRemesas() {
    require '../modelos/remesasModelo.php';
   // require '../controladores/dataControlador.php';
    
    try {
        
        $CodCompannia="";
        $accion="";
        $CodCompannia=$_POST['hddCodCompannia'];
        $Moneda=$_POST['hddMoneda'];
        $CodRemesa=$_POST['hddCodRemesa'];
        $accion = "modificaRemesa";
        if(validarPermisos('modificarRemesa'))
            {
                if (!buscarAprobacionXRemesa($CodRemesa)){


                    if(validarPermisos('buscarConsultaXRemesa'))
                    {
                        $items = buscarConsultaXRemesa($CodRemesa);
                        $total_registros =sizeof($items);                    
                        require 'Remesas/reporteRemesas.php';
                    }
                    else
                    {
                        $items = null;
                        require 'Remesas/reporteRemesas.php';
                        mensajeConfirmacion('SinPermisos');
                    }
                }
                else{
                        $bandera='Aprobada';
                        listarRemesas();
                        mensajeConfirmacion($bandera);
                }
            }
            else
            {
                $bandera='SinPermisos';
                listarRemesas();
                mensajeConfirmacion($bandera);
                
            }
             
     }
    catch (Exception $e) {
        echo 'Excepción capturada: ',  $e->getMessage(), "\n";

        }
    
}

function listarFacturasConParametros() {
    require '../modelos/remesasModelo.php';
    require_once '../controladores/dataControlador.php';
   
    try {
        $CodCompannia="";
        $CodCompannia=$_GET['codCompannia'];
        $Moneda=$_GET['moneda'];
        $FecInicio=$_GET['fecInicio'];
        $UsuarioSelected=$_GET['usuarioSelected'];
        $FecFinal=$_GET['fecFinal'];
       
        if(validarPermisos('buscarFacturasXPagar'))
        {
            $items = buscarFacturasXPagar($Moneda,$CodCompannia,fechaVistaToAplicacion($FecInicio,"01/01/2000"),fechaVistaToAplicacion($FecFinal,"01/01/2999"),$UsuarioSelected);
            $total_registros =sizeof($items);
            require 'Remesas/reporteRemesas.php';
        }
        else
        {
            $items = null;
            require 'Remesas/reporteRemesas.php';
            mensajeConfirmacion('SinPermisos');
        } 
     }
    catch (Exception $e) {
        echo 'Excepción capturada: ',  $e->getMessage(), "\n";

        }    
}

function imprimeRemesa() {

    require_once '../modelos/remesasModelo.php';
    require_once '../controladores/dataControlador.php';
    require_once('FirePHPCore/FirePHP.class.php');
    $firephp = FirePHP::getInstance(true);
    
    try {
        $dirReporte="";
        $Factura = "";
        $OrdenCompra="";
        $Proveedor="";
        $aProveedor[]="";
        $ProvedorUnico[]="";
        $CodRemesa="";
        $Usuario = "";
        $remesa ="";
        $agregaDetalles="";
        
        if(isset($_POST['check'])and isset($_POST['hddAccion'])){
            
            $accion = $_POST['hddAccion'];//aqui
            $FecInicio = $_POST['txtFecInicio'];//aqui
            $FecFinal = $_POST['txtFecFinal'];//aqui
            //$Usuario=gethostbyaddr($_SERVER['REMOTE_ADDR']);
            $Usuario = $_POST['hddUsuarioLogin'];
            $FecHoy = date("Ymd");
            
            $firephp->log($FecHoy,'$FecHoy');
            
            if($accion <> "modificaRemesa"){
                $items = buscarSigCodRemesa();
                $Compannia = $_POST['cmbCompania'];//aqui
                $Moneda = $_POST['rdbMoneda'];//aqui
                $UsuarioSelected = $_POST['cmbUsuarios'];//aqui
                foreach ($items as $item) {
                    $CodRemesa = $item['SigCodRemesa'];

                }

            }
            else{
                $CodRemesa = $_POST['hddCodRemesa'];
                $RemesaHidden = true;
                $Compannia = $_POST['hddCompannia'];
                $Moneda = $_POST['hddMoneda'];
                $UsuarioSelected = $_POST['hddUsuario'];
            }
        
        }  
           
            if(isset($_POST['check']) and  buscarAprobacionXRemesa($CodRemesa)==false ){
                $aLista=array_keys($_POST['check']);
           
            
            foreach($aLista as $Datos) {
               
               $miarreglo = explode ('|',$Datos);
                
               $Factura = $Factura ."&Factura=$miarreglo[0]";
               $OrdenCompra= $OrdenCompra."&OrdenCompra=$miarreglo[1]";
               array_push($aProveedor, $miarreglo[2]);
               
               
            }
            $ProvedorUnico = array_unique ($aProveedor);
            foreach($ProvedorUnico as $prov) {
                if($prov){
                $Proveedor = $Proveedor."&Proveedor=$prov";
                }
            }
            
      
           
            //$dirReporte="http://localhost/ReportServer_SQLEXPRESS?%2fRemesasAxPlus&rs%3aCommand=Render&rs%3AFormat=PDF&CodRemesa=".$CodRemesa;
            $dirReporte="http://sj-test.grupo.numar.net/ReportServer/Pages/ReportViewer.aspx?%2fSistemaAXPlus%2fMaterialesySuministros%2fRemesasAxPlus&rs%3aCommand=Render&rs%3AFormat=PDF&CodRemesa=".$CodRemesa;
			//$dirReporte="http://sj-mssql-02.grupo.numar.net/ReportServer/Pages/ReportViewer.aspx?%2fSistemaAXPlus%2fMaterialesySuministros%2fRemesasAxPlus&rs%3aCommand=Render&rs%3AFormat=PDF&CodRemesa=".$CodRemesa;
            $firephp->log($dirReporte,'$dirReporte');
            
            $firephp->log(fechaVistaToAplicacion($FecInicio,'01/01/2000'),'$FecInicioToAplicacion');
            $firephp->log(fechaVistaToAplicacion($FecFinal,'01/01/2999'),'$FecFinalToAplicacion');

            $items = buscarFacturasXPagar($Moneda,$Compannia,fechaVistaToAplicacion($FecInicio,'01/01/2000'),fechaVistaToAplicacion($FecFinal,'01/01/2999'),$UsuarioSelected);
               
                if($accion <> "modificaRemesa"){
                    $firephp->log('agregar','agregar');
                    agregarRemesas($CodRemesa,$Usuario,$FecHoy,$Moneda,0.0,$Compannia,"N");
                    $remesa=true;
                }
                else if($RemesaHidden){
                     actualizaRemesas($CodRemesa,$aLista,$Moneda);
                     $items = buscarConsultaXRemesa($CodRemesa);
                     require 'Remesas/reporteRemesas.php';
                     
                    dirigirPDF($dirReporte);
                }
                if($remesa==true){
                     agregarRemesaDetalles($CodRemesa,$aLista,$Moneda);
                     $agregaDetalles =true;
                }
                if($agregaDetalles){
                    $items = buscarFacturasXPagar($Moneda,$Compannia,fechaVistaToAplicacion($FecInicio,'01/01/2000'),fechaVistaToAplicacion($FecFinal,'01/01/2999'),$UsuarioSelected);
                    
                    require 'Remesas/reporteRemesas.php';
                    dirigirPDF($dirReporte);
                    
                    
                }
                
                
                
            }
            
             else{
                $bandera='Aprobada';
                listarRemesas();
                mensajeConfirmacion($bandera);
                
             }
           
           
         }
    catch (Exception $e) {
        echo 'Excepción capturada: ',  $e->getMessage(), "\n";

        }
}


function dirigirPDF($dirReporte){
  
    ?>
        <script type="text/javascript">

            window.location= "<?php echo $dirReporte ?>"; 

        </script>

    <?php
    
}


function agregarRemesas($CodRemesa,$Usuario,$FecHoy,$Moneda,$Monto,$Compania,$Impresa) {
        //require '../modelos/remesasModelo.php';
    require_once('FirePHPCore/FirePHP.class.php');
    $firephp = FirePHP::getInstance(true);
        $bandera="";
        try {
            $firephp->log('agregar2','agregar2');
            if(validarPermisos('agregarRemesa'))
            {
                agregarRemesa($CodRemesa,$Usuario,$FecHoy,$Moneda,$Monto,$Compania,$Impresa);
                $bandera='Agrega';
                //direccionarAgregarEmbalajes();
                // mensajeConfirmacion($bandera);
            }
            else
            {
                mensajeConfirmacion('SinPermisos');
            } 
            
        
        }
    catch (Exception $e) {
        echo 'Excepción capturada: ',  $e->getMessage(), "\n";

        }
        
    }
    
    function agregarRemesaDetalles($CodRemesa,$aLista,$Moneda) {
        
        try {
            foreach($aLista as $Datos) {
                
               $miarreglo = explode ('|',$Datos);
               $Factura = $miarreglo[0];
               $OrdenCompra= $miarreglo[1];
               $Proveedor = $miarreglo[2];
               $Debito = $miarreglo[3];
               if(validarPermisos('agregarRemesaDetalle'))
                {
               agregarRemesaDetalle($CodRemesa, $Factura, $OrdenCompra, $Proveedor, $Moneda, $Debito);    
                }
                else
               {
                mensajeConfirmacion('SinPermisos');
               } 
            }
        
        }
    catch (Exception $e) {
        echo 'Excepción capturada: ',  $e->getMessage(), "\n";

        }
        
    }
    
    function actualizaRemesas($CodRemesa,$aLista,$Moneda) {
        
        try {
            require_once '../modelos/remesasModelo.php';
            $items = buscarConsultaXRemesa($CodRemesa);
            if(count($items)<>count($aLista) and  buscarAprobacionXRemesa($CodRemesa)==false){
            eliminaFacturasXRemesa($CodRemesa);
            foreach($aLista as $Datos) {
                
               $miarreglo = explode ('|',$Datos);
               $Factura = $miarreglo[0];
               $OrdenCompra= $miarreglo[1];
               $Proveedor = $miarreglo[2];
               $Debito = $miarreglo[3];
               
               agregarRemesaDetalle($CodRemesa, $Factura, $OrdenCompra, $Proveedor, $Moneda, $Debito);    
               
               
            }
        
            }
             else
                $bandera='Aprobada';
        }
    catch (Exception $e) {
        echo 'Excepción capturada: ',  $e->getMessage(), "\n";

        }
        
    }
    
    function expandirRemesas() {
    require_once '../modelos/remesasModelo.php';
    require_once '../FirePHPCore/FirePHP.class.php';
    $firephp = FirePHP::getInstance(true);
    $codigoRemesa = $_GET['remesa'];
    $firephp->log($codigoRemesa,'$codigoRemesa');
    //$firephp->log('expandirGuias','expandirGuias');
    $items = buscarConsultaXRemesa($codigoRemesa);
    $dirReporte="http://sj-test.grupo.numar.net/ReportServer/Pages/ReportViewer.aspx?%2fSistemaAXPlus%2fMaterialesySuministros%2fRemesasAxPlus&rs%3aCommand=Render&rs%3AFormat=PDF&CodRemesa=".$codigoRemesa;
	//$dirReporte="http://sj-mssql-02.grupo.numar.net/ReportServer/Pages/ReportViewer.aspx?%2fSistemaAXPlus%2fMaterialesySuministros%2fRemesasAxPlus&rs%3aCommand=Render&rs%3AFormat=PDF&CodRemesa=".$codigoRemesa;
    if (!empty($items)) {
        echo "<br/><br/>
               <legend class='leyenda'>Detalle de la Remesa: $codigoRemesa</legend> 
        <a href='JavaScript:void(0);' onClick='esconderRemesa()'><img src='../vistas/Imagenes/up.png' alt='Esconder'/>Esconder</a>
        <a href='$dirReporte'><img src='../vistas/Imagenes/Report.png' alt='Reporte'/>Reporte</a>
                    <br/><br/>
                    
                <table cellpadding='0' cellspacing='0' border='0' class='display' id='tabla_lista_paises'>
                    <thead>
                        <tr>
                            <th>Proveedor</th><!--Estado-->
                            <th>Nombre</th><!--Estado-->
                            <th>Factura</th>
                            <th>Debito</th>
                            <th>Orden Compra</th>
                            <th>Moneda</th>                           
                       </tr>
                    </thead>
                    <tfoot>
                        <tr>
                            <th></th>
                            <th></th>
                        </tr>
                    </tfoot>
                    <tbody>";
        foreach ($items as $item) {
            $Proveedor = $item['Proveedor'];
            $Nombre = $item['Nombre'];
            $Factura = $item['Factura'];
            $Debito = number_format($item['Debito'],2);
            $OrdenCompra = $item['OrdenCompra'];
            $Moneda = $item['Moneda'];
            echo" <tr>                                       
                    <td>$Proveedor</td>
                    <td>$Nombre</td>
                    <td>$Factura</td>                    
                    <td>";
            if($Moneda == 'CRC'){echo '&#162;'.$Debito;} else{ echo '$'.$Debito;}
              echo  "</td>
                    <td><center>$OrdenCompra</center></td> 
                    <td><center>$Moneda</center></td> 
                  </tr>";
        }
        echo "</tbody>
                </table>
        <br/>
                <legend class='leyenda'>Lista de Remesas</legend>";
    }
    else
        return false;
}

function eliminarRemesas() {
        require_once '../modelos/remesasModelo.php';
        $bandera="";
        $codRemesa=$_GET['CodRemesa'];
        if(validarPermisos('eliminarRemesa'))
        { 
            if( isset($_GET['CodRemesa']) and  buscarAprobacionXRemesa($codRemesa)==false){//muestra el buscador y los resultados

                    if (eliminaFacturasXRemesa($codRemesa)){          
                        $bandera='SinDetalles';
                    } 

                    if ($bandera=='SinDetalles') {
                        eliminarRemesa($codRemesa);
                        $bandera='Elimina';            
                    }



            }
            else
                $bandera='Aprobada';

           

            }
        else
            {
                $bandera='SinPermisos';
                
            }
             listarRemesas();
            mensajeConfirmacion($bandera);
    }

function aprobarRemesas(){
    require_once '../modelos/remesasModelo.php';
        $bandera="";
        $codRemesa=$_GET['CodRemesa'];
        if(validarPermisos('aprobarRemesa'))
        { 
            if( isset($codRemesa)){//muestra el buscador y los resultados

                if (aprobarRemesa($codRemesa)){          
                    $bandera='Aprobar';
                } 



            }
        }
        else
            {
                $bandera='SinPermisos';
                
            }
        listarRemesas();
        mensajeConfirmacion($bandera);
}     

?>
